In computing, memory refers to the physical devices used to store programs (e.g., sequences of instructions) or data (e.g. program state information) on a temporary or permanent basis for use in a computer or other digital electronic devices. The terms “memory” “main memory” or “primary memory” can be associated with addressable semiconductor memory, i.e. integrated circuits consisting of silicon-based transistors, used for example as primary memory in computers. There are two main types of semiconductor memory: volatile and non-volatile. Examples of non-volatile memory are flash memory, ROM, PROM, EPROM, or EEPROM. Examples of volatile memory are RAM or dynamic RAM (DRAM) for primary memory and static RAM (SRAM) for cache memory.
Volatile memory is computer memory that requires power to maintain the stored information. Most modern semiconductor volatile memory is either SRAM or DRAM. SRAM retains its contents as long as the power is connected and is easy to interface to but uses six transistors per bit. DRAM needs regular refresh cycles to prevent its contents being lost. However, DRAM uses only one transistor and a capacitor per bit, allowing it to reach much higher densities and, with more bits on a memory chip, be much cheaper per bit. In some implementations SRAM may be used for cache memories and DRAM is used for system memory. Current and future DRAM technologies offer a wide range of attributes with distinct power, performance and price tradeoffs. For example, some DRAM types are optimized for lower active power but may be expensive, while other DRAM technologies may offer higher active power but may be cheaper.